/**********************************************************************\ ** ** vapor.c - Vapor data compressor by Rob Nelson 3/22/94 ** ** This program utilizes "chisel" and "eclipse" type compression. ** Data will be compressed both ways and the most optimal output ** will be used. Note that the data output isn't identical to ** either of these programs because it has been rearranged to be ** faster to decompress on the 68000. ** ** Revision 1.0 (3/22/94) - Initial release ** Revision 1.1 (3/23/94) - Fixed patterns over midpoint boundary ** Revision 1.2 (3/24/94) - Constant screen output so you can abort. ** Revision 1.3 (4/10/94) - Improved compression speed. ** Revision 1.4 (6/05/94) - Commands may be specific per header ** Revision 1.5 (7/08/94) - Labels may start with an underscore ** Sections of 0 size will display. ** Revision 1.6 (7/10/94) - Added compressed size and ratio to output ** Revision 1.7 (8/17/94) - Labels may start with a period. ** Revision 1.8 (11/15/94)- Added CNOP 0,2 as align option. ** Revision 1.9m(12/1/94) - Switched to 32bit (mars) ** Revision 1.10m (1/17/95) - Asterisk as comment allowed (mars) ** ** BIG CHANGE: First word is now compressed length, not uncompressed ** lenght - MWC 1/18/96 \**********************************************************************/ /********************************************************************** * 2/13/97 CGB Extracted eclipse compressor section for Hockey ***********************************************************************/ #include "project.h" #include "source\eclipse.h" #include "drv\memory.h" #define UPDATE_INTERVAL 1000 u_char *scanbuf = NULL, *skipbuf = NULL, *bestcompbuf = NULL, *curcompbuf = NULL; u_long scanbuflen, bestcompbuflen, curcompbuflen, curchar; u_char sectionlabel[256], bestcompname[32], bestcompabbr[5]; u_char bestcompnum, bestxsize, *runbuf, *deltabuf; u_char *infilename = NULL, *outfilename = NULL; u_char forcedxsize = 0, xdef = 0, saveforcedxsize = 0, savexdef = 0; u_long firstpos[256], nextc